package br.net.atasacramental.atividade.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

import org.hibernate.annotations.Immutable;
import org.hibernate.annotations.Subselect;


@Entity(name="EventoView")
@Immutable
@Subselect("SELECT "
				+" EVT.ID_EVENTO, "
				+" EVT.DESCRICAO, "
				+" EVT.DETALHES, "
				+" EVT.LOCAL,  "
				+" EVT.MOMENTO, "
				+" EVT.HORA, "
				+" EVT.ID_RESPONSAVEL, "
				+" M.NOME AS NOME_RESPONSAVEL, "
				+" EVT.ORCAMENTO, "
				+" EVT.PUBLICO_ALVO, "
				+" EVT.PROPOSITO, "
				+" EVT.ID_STATUS, "
				+" EVT.ID_ORGANIZACAO, "
				+" EVT.VESTUARIO, "
				+" O.DESCRICAO AS NOME_ORGANIZACAO, "
				+" U.ID_USUARIO, "
				+" U.EMAIL AS LOGIN_USUARIO, "
				+" APG.SN_EDITA AS EDITAVEL, "
				+" EVT.DS_OBSERVACAO "
			+" FROM "
			+" EVENTO EVT "
			+" ,USUARIO U "
			+" ,ORGANIZACAO O "
			+" ,MEMBRO M "
			+" ,ATIVIDADE_PRIVILEGIO_GRUPO APG "
			+" WHERE "
			+" O.ID_ORGANIZACAO = EVT.ID_ORGANIZACAO "
			+" AND "
			+" M.ID_MEMBRO = EVT.ID_RESPONSAVEL "
			+" AND "
			+" EVT.ID_ORGANIZACAO = APG.ID_ORGANIZACAO "
			+" AND "
			+" U.ID_GRUPO = APG.ID_GRUPO "
			+" AND "
			+" APG.ID_ATIVIDADE_STATUS = EVT.ID_STATUS")
public class EventoView {
	
	@Id
	@Column(name = "ID_EVENTO")
	private int idEvento;
	@Column(name = "DESCRICAO")
	private String descricao;
	@Column(name = "DETALHES")
	private String detalhes;
	@Column(name = "MOMENTO")
	private Date momento;
	@Column(name = "HORA")
	private String hora;
	@Column(name = "LOCAL")
	private String local;
	@Column(name = "ID_RESPONSAVEL")
	private int idResponsavel;
	@Column(name = "ORCAMENTO")
	private Integer orcamento;
	@Column(name = "PUBLICO_ALVO")
	private String publicoAlvo;
	@Column(name = "PROPOSITO")
	private String proposito;
	@Column(name = "ID_STATUS")
	private int idStatus;
	@Column(name = "ID_ORGANIZACAO")
	private int idOrganizacao;
	@Column(name = "NOME_RESPONSAVEL")
	private String nomeResponsavel;
	@Column(name = "NOME_ORGANIZACAO")
	private String nomeOrganizacao;
	@Column(name = "ID_USUARIO")
	private int idUsuario;
	@Column(name = "LOGIN_USUARIO")
	private String loginUsuario;
	@Column(name = "EDITAVEL")
	private String editavel;
	@Column(name = "DS_OBSERVACAO")
	private String dsObservacao;
	@Column(name = "VESTUARIO")
	private String vestuario;
	

	public int getIdOrganizacao() {
		return idOrganizacao;
	}

	public void setIdOrganizacao(int idOrganizacao) {
		this.idOrganizacao = idOrganizacao;
	}

	public EventoView() {
	}

	public int getIdEvento() {
		return this.idEvento;
	}

	public void setIdEvento(int idEvento) {
		this.idEvento = idEvento;
	}

	public String getDescricao() {
		return this.descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getDetalhes() {
		return this.detalhes;
	}

	public void setDetalhes(String detalhes) {
		this.detalhes = detalhes;
	}

	public Date getMomento() {
		return this.momento;
	}

	public void setMomento(Date momento) {
		this.momento = momento;
	}

	public String getHora() {
		return this.hora;
	}

	public void setHora(String hora) {
		this.hora = hora;
	}

	public int getIdResponsavel() {
		return this.idResponsavel;
	}

	public void setIdResponsavel(int idResponsavel) {
		this.idResponsavel = idResponsavel;
	}

	public Integer getOrcamento() {
		return this.orcamento;
	}

	public void setOrcamento(Integer orcamento) {
		this.orcamento = orcamento;
	}

	public String getProposito() {
		return this.proposito;
	}

	public void setProposito(String proposito) {
		this.proposito = proposito;
	}

	public String getPublicoAlvo() {
		return publicoAlvo;
	}

	public void setPublicoAlvo(String publicoAlvo) {
		this.publicoAlvo = publicoAlvo;
	}

	public int getIdStatus() {
		return this.idStatus;
	}

	public void setIdStatus(int idStatus) {
		this.idStatus = idStatus;
	}

	public String getLocal() {
		return local;
	}

	public void setLocal(String local) {
		this.local = local;
	}

	public String getEditavel() {
		return editavel;
	}

	public void setEditavel(String editavel) {
		this.editavel = editavel;
	}

	public String getNomeResponsavel() {
		return nomeResponsavel;
	}

	public void setNomeResponsavel(String nomeResponsavel) {
		this.nomeResponsavel = nomeResponsavel;
	}

	public String getNomeOrganizacao() {
		return nomeOrganizacao;
	}

	public void setNomeOrganizacao(String nomeOrganizacao) {
		this.nomeOrganizacao = nomeOrganizacao;
	}

	public int getIdUsuario() {
		return idUsuario;
	}

	public void setIdUsuario(int idUsuario) {
		this.idUsuario = idUsuario;
	}

	public String getLoginUsuario() {
		return loginUsuario;
	}

	public void setLoginUsuario(String loginUsuario) {
		this.loginUsuario = loginUsuario;
	}

	public String getDsObservacao() {
		return dsObservacao;
	}

	public void setDsObservacao(String dsObservacao) {
		this.dsObservacao = dsObservacao;
	}

	public String getVestuario() {
		return vestuario;
	}

	public void setVestuario(String vestuario) {
		this.vestuario = vestuario;
	}
	
	
	
}